User interface for navigating a keyword space

ABSTRACT

The present invention relates to systems, methods, and user interfaces for browsing a collection of content items saved by a user or by one or more buddies associated with a given user. The method of the present invention comprises saving one or more content items and one or more associated keywords as specified by a user. An interface is generated that displays the one or more saved content items and the one or more associated keywords, as well as the one or more buddies associated with a given user. A user indication of the selection of a given keyword or the selection of a given buddy by the user is received. The one or more displayed content items are filtered according to the selected keyword, buddy, or combination of selected keyword and buddy.

CLAIM OF PRIORITY

This application is a Continuation of and claims priority to U.S.application Ser. No. 12/861,382, filed Aug. 23, 2010, which is aContinuation of and claims priority to U.S. application Ser. No.11/444,141, filed May 30, 2006, now U.S. Pat. No. 7,797,287, Issued onOct. 14, 2010, entitled “USER INTERFACE FOR NAVIGATING A KEYWORD SPACE”,and claims priority to U.S. provisional application No. 60/685,111,entitled “USER INTERFACE FOR NAVIGATING A KEYWORD SPACE,” filed May 27,2005, the disclosure of which is hereby incorporated by reference hereinin its entirety.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightrights whatsoever.

FIELD OF THE INVENTION

The invention disclosed herein relates generally to systems, methods,and user interfaces for exploring content items. More specifically, thepresent invention relates to the exploration and navigation of contentitems associated with one or more user-generated keywords.

BACKGROUND OF THE INVENTION

Users of computer systems interact with and collect content items in awide variety of contexts. For example, users of the World Wide Web canview and save pages or documents of interest as bookmarks or in apersonal library of content (e.g., using the “My Web” feature providedto registered users by Yahoo! Inc., assignee of the presentapplication). Users may also collect digital photographs, MP3 files,digital video, or other media content items that might be created by theuser or copied from a variety of other sources. Similarly, users maybelong to one or more social networks or may interact with applications,such as instant messaging applications, with which one or more friendsor “buddies” of a given user may be designated.

As users amass large collections of content, it becomes increasinglydifficult for them to find a particular item in the collection.Therefore, most computer systems and programs that allow users to savecontent items also provide mechanisms for the user to organize suchcontent items. Frequently, this mechanism is a folder or directorystructure that allows users to classify content. Typically, hierarchicalorganization is supported. Thus, for instance, a user can have a“Travel” folder and separate subfolders for different destinations,e.g., “Travel/US,” “Travel/Europe,” etc. Further subfolders can becreated within the folders, for example, “Travel/Europe/Spain,”“Travel/Europe/Germany,” etc. By placing content items into folders, auser can group related items together.

A user can find items in folders by browsing the folder hierarchy.Numerous user interfaces exist for folder-based browsing. Typically, theinterface displays the content of a current folder, including subfoldersand content items therein. The user can then navigate to a subfolder oropen a content item. The interface usually also provides “Up” and/or“Back” controls, allowing a user to backtrack up the folder hierarchy.

Folders, however, are not an ideal organization for all forms of contentas a single content item may fit into multiple categories. For example,if a user has a photograph of herself with a movie star in front of theEiffel Tower that was taken on a trip to Paris, the user may want to beable to file the photo under the movie star's name and also under“Paris” or “Vacation” or some similar heading. To file the photograph inmore than one location, the user would need to make one or more copiesof the photograph or use a storage system that allows a content item tobe linked to multiple folders.

Instead of utilizing folders, a more flexible organization can beprovided by allowing the user to “tag” content items with one or more“keywords” (also referred to in the art as “tags”). A user may performsearches for content items using the one or more keywords associatedwith the content items. For example, the abovementioned photograph maybe associated with the keywords “Paris,” “Eiffel Tower,” “Vacation,”etc. However, while the organization of content items using keywords mayallow a user to perform searches for a particular item of content,existing interfaces for performing such searches require a user toremember which keywords were assigned to each respective content item inorder to perform a search that results in the retrieval of one or morecontent items. Additionally, current techniques for storing contentitems with associated keywords utilize a partially redundant folderstructure to enable navigation and browsing.

Therefore, in order to overcome shortcomings with existing techniquesfor storing and searching among content items, as well as displayingcontent items to one or more users, embodiments of the present inventionprovide systems and methods for generating an interface that facilitatesbrowsing saved content items that are associated with one or more usergenerated keywords.

SUMMARY OF THE INVENTION

The present invention is directed towards systems, methods, and userinterfaces for browsing a collection of content items saved by a user.The method of the present invention comprises saving one or more contentitems and one or more associated keyword as specified by a user.According to one embodiment of the invention, saving a content itemcomprises saving a copy of a given content item. According to anotherembodiment of the invention, saving a content item comprises saving areference to a given content item. The one or more content items savedmay comprise web pages, images, video files, audio files or informationassociated with a buddy of a user.

An interface is generated that displays the one or more saved contentitems and the one or more associated keywords. The interface generatedmay display the one or more saved content items and the one or morekeywords associated with the saved content items in a list. The one ormore keywords associated with the one or more saved content items may bedisplayed as links that may be selected.

An indication of the selection of a given keyword by the user isreceived and the one or more displayed content items are filteredaccording to the selected keyword. According to one embodiment,filtering the one or more displayed content items comprises removing theone or more content items not associated with the keyword selected fromthe one or more displayed content items. According to anotherembodiment, filtering the one or more displayed content items comprisesdisplaying the one or more content items associated with the keywordselected at the top of a list comprised of the one or more displayedcontent items.

The interface generated may display one or more buddies associated withthe user. The one or more buddies displayed may be filtered according tothe selected keyword. According to one embodiment of the invention,filtering the one or more buddies comprises displaying the one or morebuddies that saved one or more content items associated with the keywordselected by the user.

According to a further embodiment, the interface generated displays theone or more content items saved by one or more buddies associated withthe user. The one or more content items displayed may comprise the oneor more content items saved by the one or more buddies of the user thatsaved one or more content items associated with the keyword selected bythe user.

The present invention is also directed towards a user interface forbrowsing one or more content items, wherein a content item is associatedwith one or more keywords. The user interface of the present inventioncomprises a navigation control element operative to enable a user toselect one or more keywords from a list of keywords, wherein eachkeyword in the list is associated with at least one content item. Thenavigation control element is further operative to enable a user toselect one or more buddies associated with the user and to display oneor more buddies associated with the user that saved one or more contentitems associated with the keyword selected by the user. Additionally,the navigation control element includes an undo control enabling theuser to deselect one or more of the selected keywords.

The user interface of the present invention further comprises a contentdisplay element operative to display a list of the content items thatare associated with the one or more keywords selected by the user. Thecontent display element is operative to display the one or more contentitems associated with the keyword selected by the user at the top of thelist of content items displayed to the user, or to distinguish the oneor more content items associated with keyword selected by the user fromthe one or more content items not associated with the selected keyword.According to one embodiment, the content display element furtherdisplays the one or more content items associated with a buddy selectedby the user.

The present invention is also directed towards a system for generating auser interface for browsing one or more content items saved by a givenuser. The system of the present invention comprises a profile componentoperative to store one or more content items and one or more associatedkeywords as specified by the user. According to one embodiment of theinvention, the profile component is operative to store one or morecontent items with one or more associated keywords in an index. Theprofile component may store a copy of a given content item in a contentdata store. Alternatively, or in conjunction with the foregoing, theprofile component may store a reference to a given content item in acontent data store.

The system further comprises a user interface component operative togenerate a user interface displaying the one or more saved content itemsand the one or more associated keywords. According to one embodiment,the one or more saved content items and the one or more associatedkeywords are displayed in a list.

The interface component is further operative to receive an indication ofa selection of a given keyword and filter the one or more content itemsdisplayed according to the selected keyword. According to oneembodiment, the interface component is operative to remove the one ormore content items displayed that are not associated with the selectedkeyword. According to another embodiment, the interface component isoperative to display the one or more content items associated with theselected keyword at the top of a list of content items, or to otherwisedistinguish the one or more content items associated with the selectedkeyword from the one or more content items not associated with theselected keyword.

According to one embodiment, the interface component is furtheroperative to generate a user interface to display one or more buddiesassociated with the user. The user interface may display informationassociated with the one or more buddies and may filter the one or morebuddies according to the selected keyword. Additionally, the interfacecomponent may display one or more content items and one or moreassociated keywords saved by the one or more buddies of the user.

BRIEF DESCRIPTION OF THE DRAWINGS

In the following description, reference is made to the accompanyingdrawings that form a part hereof, and in which is shown by way ofillustration specific embodiments in which the invention may bepracticed. It is to be understood that other embodiments may be utilizedand structural changes may be made without departing from the scope ofthe present invention.

FIG. 1 is a block diagram illustrating one embodiment of a system forgenerating an interface that may be used to browse one or more savedcontent items associated with one or more user generated keywordsaccording to one embodiment of the present invention;

FIG. 2 is a flow diagram presenting a method for saving a content itemassociated with one or more user generated keywords according to oneembodiment of the present invention;

FIG. 3 is a flow diagram presenting a method for retrieving anddisplaying one or more saved content items associated with one or moreuser generated keywords according to one embodiment of the presentinvention;

FIG. 4 is a flow diagram presenting a method for retrieving anddisplaying one or more content items saved by one or more buddiesassociated with a given user according to one embodiment of the presentinvention;

FIG. 5 is a flow diagram presenting a method for displaying andfiltering one or more saved content items and the one or more buddiesdisplayed to a user according to one embodiment of the presentinvention;

FIG. 6 is a screen diagram illustrating a user interface that may bedisplayed at a first stage of a keyword-space navigation operationaccording to one embodiment of the present invention;

FIG. 7 is a screen diagram illustrating a user interface displaying oneor more content items that may be filtered based upon the selection of akeyword according to one embodiment of the present invention;

FIG. 8 is a screen diagram illustrating a user interface displaying oneor more content items that may be filtered based upon the selection of aplurality of keywords according to one embodiment of the presentinvention;

FIG. 9 is a screen diagram illustrating a user interface displaying oneor more content items that may be filtered based upon the selection ofone or more keywords associated with one or more buddies of a given useraccording to one embodiment of the present invention; and

FIG. 10 is a screen diagram illustrating a user interface displaying oneor more content items that may be displayed when a selected keyword isunselected according to one embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following description, reference is made to the accompanyingdrawings that form a part hereof, and in which is shown by way ofillustration specific embodiments in which the invention may bepracticed. It is to be understood that other embodiments may be utilizedand structural changes may be made without departing from the scope ofthe present invention.

FIG. 1 presents a block diagram illustrating one embodiment of a systemfor generating an interface comprising one or more user generatedkeywords associated with one or more saved content items. According tothe embodiment illustrated in FIG. 1, client devices 126, 128, 130, and132 are communicatively coupled to a network 122, which may include aconnection to one or more local and/or wide area networks, such as theInternet. According to one embodiment of the invention, a client device124, 126 and 128 is a general purpose personal computer comprising aprocessor, transient and persistent storage devices, input/outputsubsystem and bus to provide a communications path between componentscomprising the general purpose personal computer. For example, a 3.5 GHzPentium 4 personal computer with 512 MB of RAM, 40 GB of hard drivestorage space and an Ethernet interface to a network. Other clientdevices are considered to fall within the scope of the present inventionincluding, but not limited to, hand held devices, set top terminals,mobile handsets, PDAs, etc.

A user of a client device 126, 128, 130, and 132 communicatively coupledto the network 122 may logon to a keyword server 100 via a logoncomponent 106. The logon component 106 at the keyword server isoperative to receive the credentials for a given user, which maycomprise a username and password. The logon component 106 may deliverthe credentials for a given user to a profile component 108 operative tosearch a profile data store 104 to retrieve the user profile associatedwith the credentials received by a given user. For example, the profilecomponent 108 may perform a search of the profile data store 104 for auser profile associated with the username and password received by thelogon component 106.

A user of a client device 126, 128, 130, and 132 may thereafter browsevarious content items available over the network. The user may utilize asearch engine 111 at the keyword sever 100 to perform a search for oneor more content items maintained in one or more local or remote contentdata stores 110 and 120, respectively. The user may also view one ormore web pages 114 and 116 using a browser 140, 142, 144, and 146maintained on the client device 126, 128, 130, and 132 associated withthe user. Similarly, the user may interact with various applications 112and 118 available to the user, such as instant messaging applications,peer-to-peer applications, social networking applications, etc.

While viewing or interacting with one or more content items available tothe user, the user may choose to save one or more of the content items.For example, the user may locate a web page of interest and may wish tosave the web page for access at a later date. Similarly, the user maylocate an image or video file and may wish to save the content items forviewing at a later date. Additionally, the user may interact with a“buddy” via an instant messaging application and may wish to saveinformation describing the buddy, such as a group to which the buddybelongs. According to one embodiment of the invention, saving a contentitem comprises selecting a “save this” button via a toolbar displayed ona user's client device 126, 128, 130, and 132, which may be an integralcomponent of a browser 140, 142, 144, and 146 on the user's clientdevice 126, 128, 130, and 132, or an application with which the user isinteracting. Alternatively, or in conjunction with the foregoing, atoolbar may be displayed on a user's client device via a plug-inapplication. The plug-in application may be operative to receiveinformation from a browser or other application with which the userinteracts indicating that a given content item is to be saved. Those ofskill in the art recognize various techniques for displaying a toolbar,button, etc., allowing a user to indicate that a given content item isto be saved.

When a user elects to save a given content item, a user is prompted toenter one or more keywords to be associated with the saved content item.As used herein, a “keyword,” which may also be referred to as a “tag,”can be one or more words that are provided by a user to describe a givencontent item. A user is advantageously permitted to choose any words orphrases as keywords to be associated with a given content item. Forexample, a user may choose to associate a given saved web page with thekeywords “European news,” a saved image with the keywords “favoritepainting,” a saved audio file with the keywords “Favorite Rolling Stonessong,” a particular buddy from an instant messaging application with thekeywords “football buddy,” etc.

The saved content item and the user-generated keywords associated withthe saved content item are delivered via the network 122 to the profilecomponent 108. The profile component 108 is operative to save a contentitem and the one or more user-generated keywords associated with thecontent item for a given user. According to one embodiment of theinvention, the profile component generates an index for a given usercomprising one or index entries, wherein a given index entry stores asaved content item or a reference to the saved content item and the oneor more keywords associated with the saved content item. The indexgenerated by the profile component 108 for a given user may bemaintained in the user profile associated with the respective user.

According to one embodiment of the invention, the profile component 108generates a copy of the content item to be saved for a given user andmaintains the copied content item in a local 110 or remote 120 contentdata store. For example, a user may choose to save a particular webpage, document, image, etc. The profile component 108 may create a copyof the web page, document, image, etc., and save the copied content itemin local or remote content data stores 110 and 120. The index generatedfor a given user and maintained in the user's profile may contain theone or more keywords associated with the saved content item, as well asa reference to the saved content item in local or remote content datastore 110 and 120. Local 110 and remote 120 content data stores areoperative to maintain one or more saved content items associated withone or more users and may comprise one or more accessible memorystructures such as a database, CD-ROM, tape, digital storage library,etc. Local and remote data stores 110 and 120 may be implemented asdatabases or any other type of storage structures capable of providingfor the retrieval and storage of one or more saved content items for oneor more users.

According to another embodiment of the invention, the profile component108 maintains a reference to a saved content item. For example, insteadof generating a copy of a web page, document, image, advertisement,etc., saved by a user, the profile component 108 may save the URL of theweb page, document, image, advertisement, etc., along with the one ormore user-generated keywords associated with the content item. Thereference to a saved content item and the one or more keywordsassociated with the saved content item may be maintained in the indexgenerated for a given user in the user's profile.

The profile of a given user maintained in the profile data store 104 mayfurther specify one or more “buddies” or “friends” associated with theuser. The buddies or friends of a given user who also maintain profileson the keyword server 100 may be identified using various techniques,including but not limited to, explicit user identification of a buddy orfriend, by reference to a social network to which a given user belongs,or by reference to a user's list of buddies maintained by one or moreapplications 112 and 118, such as an instant messaging application. Forexample, upon logging on the to the keyword server 100, the user mayspecify the one or more social networks to which he or she belongs orthe one or more instant messaging applications with which he or she isregistered. The user specified information may be used to identify theone or more buddies associated with the given user that maintainprofiles on the keyword server 100.

A user of a client device 126, 128, 130, and 132 with a profilemaintained by the keyword server 100 may communicate a request to thekeyword server indicating a desire to browse content items previouslysaved by the user or the one or more buddies associated with the userthat maintain profiles on the keyword server 100. The profile component108 is operative to retrieve the profile of the user with which therequest originated from the profile data store 104. The profilecomponent 108 utilizes the information maintained in the profile of agiven user to retrieve the content items and the one or more associatedkeywords saved by the respective user. For example, the abovementionedindex maintained in the profile of a given user may be used to retrievethe one or more saved content items from local 110 and remote 120content data stores. Similarly, the one or more references to savedcontent items, such as URLs, may be used to retrieve the one or morecontent items saved by a given user as indicated by the user's profile.

The one or more saved content items, keywords, and buddy informationassociated with a given user are delivered to an interface component112. The interface component 112 is operative to generate an interfacecomprising the one or more saved content items and associated keywords,as well as the one or more buddies associated with a given user.According to one embodiment of the invention, the user interfaceinitially presented to the user requesting saved content items comprisesthe one or more content items saved by the user and the one or morekeywords associated with the content items. Additionally, the interfacepresented to the user comprises information regarding the one or morebuddies associated with the user, as well as the one or more keywordsassociated with each respective buddy. The content items initiallydisplayed to a user may be displayed randomly, in alphabetical order,according to size, according to the type of content item, according tothe date on which the content items were saved, etc.

A user may interact with the interface generated by the interfacecomponent 112 in various ways, which may result in the filtering ofcontent items displayed to the user. According to one embodiment, theuser may select one or more keywords displayed in the interfacegenerated by the interface component 112 using a selection device suchas a mouse or a keyboard. When a user selects a given keyword, the oneor more content items associated with the selected keyword may befiltered. For example, the one or more content items associated with theselected keyword may be displayed at the top of the list of contentitems, may be high-lighted, may be enlarged, etc., to distinguish thecontent items associated with the selected keyword from the one or morecontent items not associated with the selected keyword.

A user may select additional keywords, resulting in further filtering ofthe content items displayed to the user. For example, a user may bepresented with a plurality of content items and keywords, such as“California,” “Beaches,” “News,” and “Restaurants.” The user may selecta first keyword, such as “California,” which may result in the one ormore content items associated with the keyword “California,” asindicated by the profile of the user, being displayed at the top of aranked list of content items. The user may thereafter select a secondkeyword, such as “Beaches,” which may result in the display of contentitems associated with both the keywords “California” and the keyword“Beaches,” thus further filtering the content items displayed to theuser.

The interface generated by the interface component 112 and displayed ona client device 126, 128, 130, and 132 of a given user may alsoincorporate one or more controls for interacting with the content. Forexample, a user may be presented with a control to delete content itemspreviously saved by the user. Similarly a user may be presented with acontrol to email one or more content items to one or more destinations.Information regarding the interaction of a user with the content itemsdisplayed within the interface generated by the interface component 112may be delivered to the profile component 108. The profile component 108may update the profile of the given user to reflect the interaction. Forexample, if a given user deletes a saved content item using the controlswithin the interface generated by the interface component, informationregarding the deleted item may be delivered to the profile component108. The profile component 108 may thereafter update the user's profile,removing the saved content item from the index maintained in the profileassociated with the user.

According to one embodiment of the invention, information regarding theselection of a given content item by the user is delivered to theprofile component 108. The profile component 108 is operative to updatethe profile of the user to indicate the content item selected by theuser. Information maintained in the profile of a given user may be usedto deliver advertisements to the user. For example, the profile of agiven user may indicate that the user frequently selects content itemsassociated with a given keyword. The interface generated by theinterface component 112 and displayed on the client device 126, 128,130, and 132 of the user may incorporate one or more advertisementsassociated with keyword frequently selected by the user. Theadvertisements displayed on the client device 126, 128, 130, and 132 maybe retrieved by the interface component 112 from one or moreadvertisement data stores (not illustrated).

A user of a client device 126, 128, 130, and 132 may also select one ormore of the buddies associated with the user and displayed within theinterface generated by the interface component 112. According to oneembodiment of the invention, selection of a given buddy displayed withinthe interface generated by the interface component 112 results in theretrieval of the one or more content items saved by the selected buddy.For example, the profile component 108 may retrieve the profileassociated with the buddy selected by the user. The profile of theselected buddy may be used to identify the one or more content itemssaved by the buddy. The content items saved by the buddy, as indicatedby the profile associated with the buddy, may be delivered to theinterface component 112 and displayed to the user so as to allow theuser to view the one or more content items saved by the respectivebuddy.

While the embodiment presented in FIG. 1 illustrates the storage ofcontent items in a keyword server 100, those of skill in the artrecognize that saved content items, and the one or more user-generatedkeywords associated with saved content items, may be stored locally on aclient device 126, 128, 130, and 132. For example, an index may bemaintained on the client device 126, 128, 130, and 132 of a given userindicating the one or more items of content saved by the user, as wellas the one or more user-generated keywords associated with the contentitem. Similarly, the abovementioned interface component may similarly bemaintained on the client device 126, 128, 130, and 132 of a given userand used to generate an interface comprising the one or more items ofcontent saved by a given user, as well the one or more correspondinguser-generated keywords. Additionally, information regarding the one ormore buddies associated with a given user may be stored locally on theclient device 126, 128, 130, and 132 of a given user. The user,communicatively coupled to the network 122, may browse the one or morecontent items saved by the one or more buddies associated with userutilizing techniques recognized by those with skill in the art, such asa peer-to-peer network.

FIG. 2 is a flow diagram presenting a method for saving a given contentitem associated with one or more user generated keywords. As illustratedin FIG. 2, a user of a client device may logon to a keyword server via alogon component, step 202. The credentials provided by the user to thelogon component, such as a username and password, may be used toretrieve a profile associated with the user, step 204. The user of theclient device may browse various types of local and remote contentavailable to the user that are displayed on the user's client device,step 206. For example, using a browser, the user may browse theInternet, viewing various web pages, documents, advertisements, etc.Similarly, a user may interact with one or more applications availableto the user, such as instant messaging applications, peer-to-peernetworks, etc.

While interacting with one or more content items, the use may choose tosave a given content item displayed to the user. For example, a user maywish to save a web page containing content of interest to the user.Similarly, the user may wish to save an audio or video file for accessat a later date. Additionally, a user may wish to save informationassociated with a “buddy” with which the user interacts via an instantmessaging application and that maintains a profile on the abovementionedkeyword server. Saving a content item may be performed using the “save”functionality of an application or content item with which a user isinteracting. For example, a user viewing a web page in a browser mayselect the “Save” button within the browser using a selection devicesuch as a mouse or keyboard.” Alternatively, or in conjunction with theforegoing, a separate toolbar may be presented to the user, which mayinclude a “Save” button that the user may activate while browsingcontent displayed on the user's client device. Those of skill in the artrecognize the plurality of techniques that may be used to save a contentitem displayed on a client device.

A check is performed to determine whether a user has chosen to save agiven content item, step 208. If a user does not choose to save acontent item, the user may continue to browse content available to theuser and displayed on the user's client device, step 206. When a userelects to save a content item, a user is prompted to enter one or morekeywords to be associated with the content item, step 210. Theuser-generated keywords may comprise one or more words that are providedby a user to describe a given content item. A user may choose anycombination of words or phrases as keywords to be associated with agiven content item. For example, a user may specify keywords thatprovide a description of the content item, such as the keyword “weather”for a web page providing weather forecasts, or “bicycling buddy” for aninstant messaging buddy with whom the user shares a common interest inbicycling.

Using the information maintained in the profile associated with theuser, a check is performed to determine the user has previously savedthe content item, step 212. If the content item to be saved has beenpreviously saved by the user, the profile associated with the user isupdated to indicate that the content item is associated with the one ormore keywords specified the user, step 214. If the user has notpreviously saved the content item, the content item and the one or morekeywords associated with the content item, as specified by the user, aresaved, step 216. According to one embodiment of the invention, saving acontent item comprises generating a copy of the content item for storageand future retrieval. For example, saving a web page may comprisegenerating a copy of the HTML code comprising the web page, the one ormore images displayed within the web page, etc. According to anotherembodiment of the invention, saving a content item comprises identifyinga reference to the content item. For example, saving a web page maycomprise saving the URL of the web page.

FIG. 3 is a flow diagram presenting a method for retrieving anddisplaying one or more content items saved by a user, as well as the oneor more user-generated keywords associated with the saved content items.According to the embodiment illustrated in FIG. 3, the profile of a useris retrieved, step 300, and used to retrieve the one or more contentitems and keywords associated with the content items, as specified inthe user's profile, step 302. The one or more content items and the oneor more keywords associated with the content items are displayed to theuser on the user's client device, step 304.

The user may view the various content displayed on the user's clientdevice and may also select a keyword associated with the one or morecontent items displayed in order to locate one or more content items. Acheck is performed to determine whether the user has selected a keywordassociated with a displayed content item, step 306. If a user does notselect a keyword associated with a content item, the user may continueto browse the content displayed on the user's client device, step 304.

When a user selects a keyword associated with a content item, the one ormore content items displayed to the user are filtered according to theselected keyword, step 308. According to one embodiment of theinvention, filtering the content items comprises displaying the one ormore content items associated with the selected keyword at the top of aranked list of content items. Alternatively, or in conjunction with theforegoing, filtering the content items comprises high-lighting orotherwise distinguishing the one or more content items associated withthe selected keyword from the one or more content items not associatedwith the selected keyword. According to a further embodiment of theinvention, filtering the content items comprises removing the one ormore content items not associated with the selected keyword from the oneor more content items displayed to the user.

A user may continue to select one or more keywords associated with theone or more content items displayed to the user. A check is performed todetermine whether the user selected one or more additional keywords,step 310. If additional keywords are selected, the content itemsdisplayed to the user are further filtered, step 308. For example, auser may initially be presented with several content items associatedwith various keywords, such as “Laptop computers,” “Weather forecast,”“San Francisco Restaurants,” “pizza,” “California beaches,” “movietheaters,” etc. A user may select a first keyword associated with thecontent items, such as “California beaches,” resulting in the filteringof the one or more content items associated with the keyword “Californiabeaches.” Thereafter, a user may select additional keywords, such as“Weather forecast.” The one or more content items displayed to the usermay be further filtered, resulting in the one or more content itemsassociated with both the keywords “California beaches” and “Weatherforecast” being displayed to the user at the top of a ranked list ofcontent items, high-lighted, etc.

If additional keywords are not selected, a check is performed todetermine whether one or more selected keywords have been unselected bythe user, step 312. If one or more keywords are not unselected, the usermay continue to browse the content items displayed to the user, step304. When one or more selected keywords are unselected, the filterapplied to the content items displayed to the user is removed withrespect to the unselected keyword, step 314. For example, a user mayhave selected the keywords “San Francisco Restaurants,” and the keyword“pizza,” resulting in the filtering of the one or more content itemsassociated with the selected keywords, such as the removal of the one ormore content items not associated with both “San Francisco Restaurants”and “pizza.” Thereafter, the user may unselect the keyword “pizza,”resulting in the removal of the filter for the one or more content itemsassociated with both the keywords “San Francisco Restaurants” and“pizza,” and filtering according to only the keywords “San FranciscoRestaurants.” A user may thereafter continue to browse the contentdisplayed on the user's client device, step 304, and select one or morekeywords to locate items of content, step 306.

FIG. 4 is a flow diagram illustrating one embodiment of a method fordisplaying the one or more content items saved by the one or morebuddies associated with a given user. A user of a client device maylogon to a keyword server via a logon component, providing usercredentials such as a username and password, step 402. The credentialsof the given user are used to retrieve the profile associated with theuser, step 404. The profile of the user is used to identify the one ormore buddies associated with the user, step 406. For example, theprofile may contain information identifying the one or more buddies ofthe user, as specified by the user. Similarly, the profile may containinformation specifying the one or more social networks to which the userbelongs, or one or more instant messaging applications with which theuser interacts, which may be used to ascertain the buddies associatedwith a given user.

The one or more buddies associated with a given user are displayed tothe user on the user's client device, step 408. The one or more buddiesassociated with a given user may be displayed according to the one ormore keywords associated with each respective buddy. For example, aspreviously described, a user may save one or more keywords describingthe buddy, such as “bicycling buddy,” “football buddy,” “buddy inCalifornia,” etc. The one or more buddies associated with the user maybe displayed according to the keywords associated with the one or morebuddies, such as displaying the one or more buddies associated with thekeywords “bicycling buddy” together.

A check is performed to determine whether the user has selected one ormore of the buddies displayed to the user, step 410. If the user doesnot select a buddy, the user may continue to browse the one or morebuddies associated with the user and displayed on the user's clientdevice, step 408. If the user selects a buddy displayed on the user'sclient device, the profile of the selected buddy is retrieved, step 412.The profile of the selected buddy is used to retrieve the one or morecontent items saved by the selected buddy, as well as the one or morekeywords associated with the content items saved by the selected buddy,step 414. The one or more content items saved by the selected buddy, aswell as the one or more keywords associated with the buddy's savedcontent items are displayed to the user on the user's client device,step 416. A user may interact with the keywords and content itemsdisplayed according to the methods described herein. For example, a usermay select one or more of the keywords displayed in order to locate aparticular content item. Similarly, the user may browse, email, etc.,the one or more content items displayed to the user.

FIG. 5 is a flow diagram illustrating one embodiment of a method fordisplaying and filtering the content items associated with the one ormore buddies of a given user. A user may logon to a keyword server via alogon component, step 502, providing a username and password, or otherinformation identifying the user. The credentials of the user are usedin order to retrieve the user's profile, step 504. The one or morebuddies associated with the user, as indicated in the user's profile,are identified, step 506. The one or more identified buddies arethereafter displayed to the user on the user's client device, step 508.According to one embodiment of the invention, the one or more buddiesdisplayed on the user's client device are displayed according to the oneor more keywords with which the one or more buddies are associated. Forexample, one or more buddies may be associated with the keyword“doctor,” as specified in the user's profile, and may be displayed in a“doctors” category. Similarly, one or more buddies may be associatedwith the keywords “jogging buddy” and displayed in a “jogging buddies”category.

The one or more content items and associated keywords, as specified inthe user's profile, are retrieved and displayed on the user's clientdevice in conjunction with the one or more buddies associated with theuser, step 510. The one or more content items may be displayed in anyorder, such as randomly, in alphabetical order, etc. Similarly, the oneor more keywords associated with the one or more content items, asindicated in the user's profile, may be displayed in various ways, suchas alphabetically, according to the number of content items associatedwith a given keyword, randomly, etc.

A user may browse the various content items displayed on the user'sclient device and may also select one or of the displayed keywords usinga selection device such as a mouse or a keyboard. A check is performedto determine whether the user selects a keyword, step 512. If the userdoes not select a keyword, the user may continue to view the contentitems displayed on the client device, step 510. If the user selects akeyword, the one or more content items displayed to the user arefiltered according to the selected keyword, step 514. For example, theone or more content items associated with the selected keyword, asindicated in the user's profile, may be distinguished from the one ormore content items displayed to the user, such as high-lighting,bolding, etc., the one or more content items associated with theselected keyword. Alternatively, or in conjunction with the foregoing,the one more content items not associated with the selected keyword maybe removed from the content items displayed to the user, thus resultingin the display of only the one or more content items associated with theselected keyword.

Additionally, the one or more buddies associated with the user arefiltered according to the selected keyword, step 516. According to oneembodiment of the invention, filtering the one or more buddiesassociated with the user according to the keyword selected comprisesidentifying the one or more buddies who saved one or more content itemswith tags or keywords matching the keyword selected by the user. Forexample, the user may select the keyword “Restaurants,” resulting in thefiltering of the one or more content items associated with the selectedkeyword. Thereafter, the one or more buddies associated with user thatsaved one or more content items with the corresponding tag or keyword“Restaurants” are identified.

FIG. 6 is a screen diagram illustrating one embodiment of a userinterface that may be generated for a given user who has saved one ormore content items associated with one or more keywords. The screendiagram illustrated in FIG. 6 may be displayed, e.g., in a Web browserof generally conventional design that receives information from variousservers, including the abovementioned keyword server that stores savedcontent items and associated keywords for one or more users. The screendiagram illustrated in FIG. 6 may comprise the content displayed to auser when the user first communicates a request to the above-mentionedkeyword server a desire to browse the user's previously saved contentitems. For example, a button on the user's Web browser or within atoolbar displayed on the user's client device may be provided to allowthe user to request the content previously saved by the user and to viewthe content in the user interface 600 illustrated in FIG. 6.

As illustrated in the screen diagram in FIG. 6, a navigation pane 602and a content pane 603 are displayed to a given user. The navigationpane 602 includes a list of the one or more keywords 604 that the userhas associated with the one or more saved content items 640, 642, 644,646, 648, and 650 displayed within the content pane 603. In theembodiment illustrated in FIG. 6, the keywords 604 associated with thecontent items 640, 642, 644, 646, 648, and 650 in the content pane 603are sorted according to frequency of use, however other orderings,(e.g., alphabetical or random) may be substituted. The list of keywords604 associated with the one or more content items 640, 642, 644, 646,648, and 650 saved by the user may be abbreviated with a “more . . . ”button or link 606 allowing the user to view the remaining keywords withwhich the user associated one or more content items. For example, a usermay have saved several hundred content items associated with severalhundred keywords. The one or more keywords 604 most frequently used bythe user, or used greater than a given frequency threshold, may bedisplayed within the navigation pane 602, whereas the remaining keywords604 may be accessed by selecting the “more . . . ” button or link 606.

In addition to the one or more keywords 604 associated with the one ormore content items 640, 642, 644, 646, 648, and 650 displayed in thecontent pane 603, the navigation pane further includes the one or more“friends” or “buddies” 662, 664, 666, and 668 associated with the user.The “My Friends” section 608 of the navigation pane 602 lists the one ormore friends 662, 664, 666, and 668 associated with the user that havesaved one or more content items, allowing the user to browse the one ormore content items saved by the one or more friends of the user.Additionally, the user may elect to view the content items saved by aparticular friend by selecting a friend from the one or more friends662, 664, 666, and 668 displayed in the “My Friends” section 608.Selection of a given friend from the list of friends 662, 664, 666, and668 may result in the one or more content items saved by the selectedfriend being displayed within the content pane 603.

The content pane 603 lists the one or more content items 640, 642, 644,646, 648, and 650 saved by a given user. If the list of the one or morecontent items 640, 642, 644, 646, 648, and 650 saved by a given userdoes not fit within the display area of the user's client device, thelist can be partitioned into one or more pages. The user may view thelist of one or more pages by selecting the “Next” 620 and “Previous” 622controls or other suitable controls for navigating among one or morelists of content items. According to the embodiment illustrated in FIG.6, the one or more content items 640, 642, 644, 646, 648, and 650displayed within the content pane 603 are listed according to the orderin which the one or more content items 640, 642, 644, 646, 648, and 650were saved, with the most recently saved content item displayed first ina ranked list of content items 640, 642, 644, 646, 648, and 650. Othertechniques may be used to order the one or more content items 640, 642,644, 646, 648, and 650 saved by the user, such as alphabetical, random,etc.

A toggle button adjacent to the one or more content items 640, 642, 644,646, 648, and 650 displayed within the content pane 603 allows a user toselect one or more content items in order to perform one or morefunctions, such as emailing a content item or deleting a content item.As illustrated in FIG. 6, a user may select a toggle button 630associated with a given content item 650 and may email the content itemby selecting the email button 610 displayed within the user interface.Similarly, a user may select the toggle button 630 associated with acontent item 650 and may delete the content item by selecting the deletebutton 612 displayed within the user interface 600.

The one or more content items 640, 642, 644, 646, 648, and 650 displayedwithin the content pane 603 are displayed with the title 624 associatedwith the respective content item. In the screen diagram illustrated inFIG. 6, the one or more content items 640, 642, 644, 646, 648, and 650are further displayed with a reference to the content item 628comprising a URL that may be selected by a user, redirecting the user tothe content item associated with the URL selected.

Additionally, the one or more content items 640, 642, 644, 646, 648, and650 displayed within the content pane 603 are displayed in conjunctionwith the one or more keywords 626 associated with the content item asspecified by the user. The one or more keywords 626 may comprisehyperlinks or other similar controls allowing the user to select a givenkeyword, resulting in the filtering of content items according tomethods described herein. For example, a user may select the “travel”keyword associated with content item 640. Selection of the “travel”keyword may result in the one or more content items associated with thekeyword “travel” being displayed within the content pane 603.Alternatively, or in conjunction with the foregoing, the one or morecontent items not associated with the keyword “travel” may be removedfrom the content pane 603.

A user may iteratively select one or more keywords that appear inconjunction with a given content item 640, 642, 644, 646, 648, and 650within the content pane 603. The process of iteratively selectingkeywords and filtering content items 640, 642, 644, 646, 648, and 650may also be referred to as “navigating” or “browsing” the keyword space.At each stage of the navigation or browsing process, the navigation pane602 is updated to reflect the current filter (selected keyword), the oneor more keywords that have not been selected by the user, as well as oneor more controls for removing a given filter. FIG. 7 illustrates oneembodiment of a screen diagram that may be presented to a user upon theselection of a given keyword.

As illustrated in the screen diagram in FIG. 7, the keyword “SanFrancisco” has been selected from the list of keywords 708 displayedwithin the navigation pane 702 of the user interface 700. The keyword“San Francisco” is displayed within a filter box 706 that displays theone or more keywords selected by a user with which the content itemsdisplayed within the content pane 703 are filtered. The filter box 706includes an “undo” control 712 allowing a user to remove or unselect oneor more of the keywords previously selected by the user.

The list of keywords 708 displayed within the navigation pane 702comprises the one or more keywords assigned by the user to the one ormore content items 740, 742, 744, 746, 748, 750, and 752 saved by theuser. Additionally, the one or more friends 712 and 714 associated withthe user are displayed within the “My Friends” 711 section of thenavigation pane 702.

The content pane 703 comprises the one or more content items 740, 742,744, 746, 748, 750, and 752 saved by the user, filtered according to theone or more selected keywords displayed within the filter box 706.According to the screen diagram illustrated in FIG. 7, the content items740, 742, 744, 746, 748, 750, and 752 displayed within the content paneare filtered according to the selected keywords “San Francisco”displayed in the filter box 706. The content items 740, 742, 744, 746,748, 750, and 752 displayed to the user within the content pane 703 aredisplayed in conjunction with the one or more keywords with which thecontent items 740, 742, 744, 746, 748, 750, and 752 are associated. Forexample, content item 742 is displayed in conjunction with the keywords“San Francisco” and “map.”

In addition to viewing the one or more saved content items 740, 742,744, 746, 748, 750, and 752 associated with a given keyword, a user mayalso view the one or more friends 712 and 714 associated with the userwho have saved content pages associated with the one or more keywordsselected by the user. For example, according to the user interface 700illustrated in FIG. 7, the one or more friends 712 and 714 that savedone or more content items associated with the keywords “San Francisco”are displayed within the “My Friends” section 710 of the navigation pane702. The user may select a given friend 712 and 714 to browse thecontent items saved by the selected friend 712 and 714. Alternatively,or in conjunction with the foregoing, the user may select the “SanFrancisco” link 710 displayed within the “My Friends” section 711 toretrieve the one or more content items saved by the one or more friends712 and 714 with saved content items associated with the keywordselected by the user.

A user presented with the user interface 700 illustrated in FIG. 7 maycontinue to select additional keywords 708 displayed within thenavigation pane 702. Selection of additional keywords 708 may result inthe further filtering of the one or more content items 740, 742, 744,746, 748, 750, and 752 displayed within the content pane 703.Additionally, selection of additional keywords 708 may result in thefurther filtering of the one or more friends 712 and 714 associated withthe user.

FIG. 8 is a screen diagram illustrating the user interface 800 displayedto a user upon selecting an additional keyword from the one or morekeywords displayed to the user in the screen diagram illustrated in FIG.7. The filter box illustrated in FIG. 8 is updated to reflect theselection of both the keywords “San Francisco” and “museum.”Additionally, the content pane 803 is updated to reflect the one or morecontent items 840 and 842 that are associated with the keywords “SanFrancisco” and “museum.”

The one or more friends 812 and 814 of the user that have saved one ormore content items associated with the keywords selected by the user aredisplayed to the user within the navigation pane 802 in the “My Friends”section 809. The user may select a friend from the one or more friends812 and 814 displayed to the user to browse the content items saved bythe selected friend. Alternatively, or in conjunction with theforegoing, the user may select the “San Francisco+museum” link 808displayed within the “My Friends” section 809 to retrieve the one ormore content items saved by the user's one or more friends 812 and 814associated with the keywords selected by the user.

The filter box 806 within the navigation pane 802 advantageouslyprovides a user with “undo” controls 882, 884, and 886 allowing the userto unselect one or more selected keywords. For example, the user maywish to remove the filter applied to the content items 840 and 842 forthe keyword “museum.” By selecting the “undo” control 884 associatedwith the “museum” keyword, the filter for the keyword “museum” isremoved, thereby resulting in the filtering of the content items 840 and842 using only the keyword “San Francisco.” The user may also choose toremove the one or more filters applied to the content items 840 and 842by selecting the “undo all” control 886, resulting in all of the one ormore content items 840 and 842 saved by the user being displayed withinthe content pane 803.

Additionally, removing a given selected keyword from the filter box 806via the “undo” controls 882, 884, and 886 results in the one or morefriends associated with the user being unfiltered accordingly. Forexample, the friends 812 and 814 associated with the user illustrated inFIG. 8 are filtered according to the keywords “San Francisco” and“museum.” Removal of the keyword museum from the filter box 806 via the“undo” control 884 may result in the filtering of the one or morefriends associated with the user according to only the keyword “SanFrancisco.”

FIG. 9 is a screen diagram illustrating one embodiment of the interfacepresented to a user upon selection of the “San Francisco+museum” control808 displayed within the “My Friends” section 809 illustrated in FIG. 8.The content pane 903 is updated to reflect the one or more content items940, 942, and 944 saved by the one or more friends 912 and 914 of theuser, as well as the one or more content items 946 and 948 saved by theuser that are associated with the keywords selected by the user. Thekeywords selected by the user are displayed within the filter box 908 ofthe navigation pane 902.

The one or more content items 940, 942, 944, 946, and 948 saved by theuser and the user's one or more friends 912 and 914 that are associatedwith the keywords selected by the user are displayed with an indication950, 952, 954, 956, and 958 of the user that saved the respectivecontent item 950. For example, content item 940 is displayed inconjunction with information 950 indicating that the item is “Shared byMichael.” Similarly, content items 946 and 948 are displayed inconjunction with information 956 and 958 indicating that the user (“Me”)saved the content items.

The one or more content items 940, 942, and 944 saved by the user's oneor more friends 912 and 914 may be displayed with comments or notes 951,953 and 955 provided by the respective friend indicating the friend'sopinion, review, etc., of a given content item 940, 942, and 944. Forexample, content item 944, saved by “Lisa” is displayed with the comment955 “this is an excellent exhibit. don't miss it!” The user may reviewthe comments 951, 953, and 955 provided the user's one or more friends912 and 914 to determine the content items the user wishes to review.

The filter box 908 allows the user to remove one or more of the selectedkeywords via the “undo” controls 982 and 984. FIG. 10 is a screendiagram illustrating the interface 1000 presented to a user upon theremoval of the keyword “San Francisco” from the filter box presented inFIG. 9. As illustrated in the screen diagram in FIG. 10, the contentpane 1003 is updated to reflect the one or more content items 1040,1042, 1044, 1046, 1048, 1050, and 1052 associated with only the keyword“museum” as saved by the user and the one or more friends of the user.Additionally, one or more keywords 1008 are displayed within thenavigation pane 1002 comprising the one or more keywords with which thecontent items 1040, 1042, 1044, 1046, 1048, 1050, and 1052 displayed maybe filtered.

The navigation pane 1002 is also updated to indicate the one or morefriends 1012, 1014, and 1016 that have saved one or more content itemsassociated with the keyword “museum” 1006. As previously described, theuser may filter the one or more content items 1040, 1042, 1044, 1046,1048, 1050, and 1052 displayed within the content pane 1003 by selectingone or more of the keywords 1008. Alternatively, or in conjunction withthe foregoing, the user may select one or more of the friends 1012,1014, and 1016 displayed within the “My Friends” section 1005 of thenavigation pane 1002. Additionally, the user may remove the keyword“museum” from the filter box to view all of the one or more contentitems saved by the user and the user's one or more friends.

The foregoing description, for purposes of explanation, uses specificnomenclature and formula to provide a thorough understanding of theinvention. It should be apparent to those of skill in the art that thespecific details are not required in order to practice the invention.The embodiments have been chosen and described to best explain theprinciples of the invention and its practical application, therebyenabling others of skill in the art to utilize the invention and variousembodiments with various contemplated. Thus, the foregoing limit theinvention to the precise forms that many modifications and variations.

1. A computerized method for browsing a collection of content items, themethod comprising: saving, in a data storage device, one or more contentitems and one or more associated keywords, a given one of the one ormore content items and one or more associated keywords specified by auser or one or more buddies associated with the user, wherein the userand the one or more buddies belong to one or more common socialnetworks; generating, using a computing device, an interface thatdisplays the one or more saved content items and the one or moreassociated keywords saved by the one or more buddies; generating aninterface that displays the one or more buddies associated with theuser; filtering, using the computing device, the one or more displayedcontent items according to a keyword selected by the user; and filteringthe one or more displayed buddies associated with the user according tothe selected keyword.
 2. The method of claim 1 wherein the one or morecontent items include one or more instant messages.
 3. The method ofclaim 1 wherein the one or more content items include one or more emailmessages.
 4. The method of claim 1 wherein the one or more content itemsinclude one or more tagged documents.
 5. The method of claim 4 whereinthe one or more tagged documents are tagged by the user.
 6. The methodof claim 4 wherein the one or more tagged documents are tagged by theone or more buddies.
 7. The method of claim 1 wherein saving one or morecontent items comprises saving a copy of a given content item.
 8. Themethod of claim 1 wherein saving one or more content items comprisessaving a reference to a given content item.
 9. The method of claim 1wherein generating an interface comprises generating an interface thatdisplays the one or more saved content items and the one or morekeywords associated with the saved content items in a list.
 10. Themethod of claim 1 wherein filtering the one or more displayed contentitems according to the selected keyword comprises displaying the one ormore content items associated with the selected keyword at the top of alist comprised of the one or more displayed content items.
 11. Themethod of claim 1 wherein filtering the one or more buddies comprisesdisplaying one or more buddies that saved one or more content itemsassociated with the keyword selected by the user.
 12. The method of 1wherein the one or more content items include one or more web pages, oneor more digital files and one or more buddy identifiers.
 13. A systemfor browsing a collection of content items, the system comprising: aprocessor; and a memory having executable instructions stored thereonthat when executed by the processor cause the processor to: save, in adata storage device, one or more content items and one or moreassociated keywords, a given one of the one or more content items andone or more associated keywords specified by a user or one or morebuddies associated with the user, wherein the user and the one or morebuddies belong to one or more common social networks; generate, using acomputing device, an interface that displays the one or more savedcontent items and the one or more associated keywords saved by the oneor more buddies; generate an interface that displays the one or morebuddies associated with the user; filter, using the computing device,the one or more displayed content items according to a keyword selectedby the user; and filter the one or more displayed buddies associatedwith the user according to the selected keyword.
 14. The system of claim13 wherein the one or more content items include one or more instantmessages.
 15. The system of claim 13 wherein the one or more contentitems include one or more email messages.
 16. The system of claim 13wherein the one or more content items include one or more taggeddocuments.
 17. The system of claim 16 wherein the one or more taggeddocuments are tagged by the user.
 18. The system of claim 16 wherein theone or more tagged documents are tagged by the one or more buddies. 19.The system of claim 13 wherein filtering the one or more displayedcontent items according to the selected keyword comprises displaying theone or more content items associated with the selected keyword at thetop of a list comprised of the one or more displayed content items. 20.Non-transitory computer readable media having stored executableinstructions that when executed by a is configured to perform the stepscomprising: saving, in a data storage device, one or more content itemsand one or more associated keywords, a given one of the one or morecontent items and one or more associated keywords specified by a user orone or more buddies associated with the user, wherein the user and theone or more buddies belong to one or more common social networks;generating, using a computing device, an interface that displays the oneor more saved content items and the one or more associated keywordssaved by the one or more buddies; generating an interface that displaysthe one or more buddies associated with the user; filtering, using thecomputing device, the one or more displayed content items according to akeyword selected by the user; and filtering the one or more displayedbuddies associated with the user according to the selected keyword.